iT邦幫忙

2022 iThome 鐵人賽

DAY 9
0
自我挑戰組

冒牌工程師上學去系列 第 9

1-8 四則運算_負數定義

  • 分享至 

  • xImage
  •  

聊完進制轉換後,今天來唸負數定義的部分。
最常見兩種電腦都有在用的

無號數及有號數

3bits可以存的數量為8個,表示的數字範圍

無號數(沒有正負之分),表示範圍 0 到 2^3-1

0到7

有號數 -2^(3-1) 到 2^(3-1)-1

-4到3

有號數表示法主要有三種:符號大小值、一補數、二補數

Two's Complement 二補數法

特點:

1.清楚辨別負數(看到最左邊是1就是表示負數)
2.正負相加(=相減)可以直接沿用正數相加的電路,不用另外建一個新的

原理: 8在3個bit裡記不起來,因此等於x-y

3.比較大小的電路要重新設計
4.只有抽換負數位置
5.二補數的負數和對應到binary的數相減會是總共可以儲存的數量(ex: 7-(-1)=8,所以7會對應-1)
  • 相加
  • 一般二進位的方式
    相加出來是9(1001),但3bit記不了這麼多,將最左邊的刪掉後結果就是1
  • 表示二補數負數的方法
    a. 右到左,看到1之後反過來抄

    b. 將n個bit可以存的數量和要顯示的負數相加,寫出結果

Excess Notation 表示法

特點:

1.辨別負數相反(看到最左邊是0就是表示負數)
2.Binary轉Excess比較大小的電路不用重新設計,(000-111)表示小到大
3.正和負責數字位置都要移動,將0平移到對應的最左邊第一個為1的數字位置上
4.相加比較複雜,相加後要再加可存數量/2(對電腦來說只是最左一個數相反)

原理: 因為全部數字都平移,因此相加之後想要拿到對應的數也要一起平移(8已經超出範圍所以不存在)

  • 表示法
    用binary可以存的數量/2,和要標示的數字相加之後,將結果寫出來

  • 數字相加
    步驟

  1. 將對應excess的數字相加
  2. 去掉最左邊無法儲存的地方,並再加上可存空間的數量/2,這裡的範例是+4(001=1,1+4=5,因此答案是101)
    p.s.加4就是最左邊數字交換(1變0,0變1)

分類會依照第一篇介紹的分類架構來進行
由於是將學習過程記錄下來,如果有任何錯誤歡迎糾正

以下參考連結在學習過程中覺得非常有幫助:
-進制簡介
-台大線上課程


上一篇
1-7 四則運算_進制轉換
下一篇
1-9 四則運算_有號數表示法比較
系列文
冒牌工程師上學去42
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言